草庐IT

LeetCode - 两数之和

全部标签

微信小程序-1:比较两数的大小

程序来源》微信小程序开发教程(第二章)主编:黄寿孟、易芳、陶延涛 ISBN:9787566720788程序运行结果:第一个数字:  第二个数字:确定比较结果:{{result}} // index.jsPage({  num1:0,  num2:0,  num1change:function(e){    this.num1=Number(e.detail.value)    console.log("第1个数为:"+this.num1)  },  num2change:function(e){    this.num2=Number(e.detail.value)    console.lo

2022.2.18 LeetCode —— 二叉树

文章目录一、今日刷题1.第七部分:二叉树--102.二叉树的层序遍历2.第七部分:二叉树--107.二叉树的层序遍历II3.第七部分:二叉树--199.二叉树的右视图4.第七部分:二叉树--637.二叉树的层平均值5.第七部分:二叉树--429.N叉树的层序遍历二、知识积累1.队列Queue的一些方法:一、今日刷题1.第七部分:二叉树–102.二叉树的层序遍历跳转LeetCode答案代码:维护一个队列用于存储树的节点,一个集合用于存储每层遍历到的节点,对队列的操作很巧妙:一层一层的遍历,①先加入第一层的root节点到队列中,poll到集合中,再将集合加入ans②将root的左右子节点(如果不为

leetcode 困难 —— 天际线问题(优先队列)

(思路感觉挺明显的,就是一些特殊情况得考虑清楚)题目:城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回由这些建筑物形成的天际线。每个建筑物的几何信息由数组buildings表示,其中三元组buildings[i]=[lefti,righti,heighti]表示:lefti是第i座建筑物左边缘的x坐标。righti是第i座建筑物右边缘的x坐标。heighti是第i座建筑物的高度。你可以假设所有的建筑都是完美的长方形,在高度为0的绝对平坦的表面上。天际线应该表示为由“关键点”组成的列表,格式[[x1,y1],[x2,y2],…],并按x坐标进行排

【问题描述】读入一个正整数n(1<=n<=6),再读入n 阶矩阵a,计算该矩阵除副对角线、最后一列和最后一行以外的所有元素之和(副对角线为从矩阵的右上角至左下角的连线)。

输入形式】从键盘输入一个正整数n和n阶矩阵。【输入输出样例1】(下划线部分表示输入)Inputn:4Inputarray:2341561171811111sum=35【样例说明】输入提示符后要加一个空格。例如Inputn:,其中:后要加一个且只能一个空格。英文字母区分大小写。必须严格按样例输入输出。仅供参考,答案有问题可以提出或讨论。以下为答案代码:#includeintmain(){intn;printf("Inputn:\n");scanf("%d",&n);intarr[10][10];inti,j;printf("Inputarray:\n");for(i=0;ifor(j=0;jsc

leetcode.2401. 最长优雅子数组

题目描述给你一个由正整数组成的数组nums。如果 nums的子数组中位于不同位置的每对元素按位与(AND)运算的结果等于0,则称该子数组为优雅子数组。返回最长的优雅子数组的长度。子数组是数组中的一个连续部分。注意:长度为1的子数组始终视作优雅子数组。 示例1:输入:nums=[1,3,8,48,10]输出:3解释:最长的优雅子数组是[3,8,48]。子数组满足题目条件:3AND8=03AND48=08AND48=0可以证明不存在更长的优雅子数组,所以返回3。示例2:输入:nums=[3,1,5,11,13]输出:1解释:最长的优雅子数组长度为1,任何长度为1的子数组都满足题目条件。 提示:15

( 数组和矩阵) 485. 最大连续 1 的个数 ——【Leetcode每日一题】

❓485.最大连续1的个数难度:简单给定一个二进制数组nums,计算其中最大连续1的个数。示例1:输入:nums=[1,1,0,1,1,1]输出:3解释:开头的两位和最后的三位都是连续1,所以最大连续1的个数是3.示例2:输入:nums=[1,0,1,1,0,1]输出:2提示:11nums.length105nums[i]不是0就是1.💡思路:直接遍历就行!🍁代码:(Java、C++)JavaclassSolution{publicintfindMaxConsecutiveOnes(int[]nums){intans=Integer.MIN_VALUE;intcur=0;for(intnum:

Leetcode第91场双周赛

T1:LeetCode2465.不同的平均值数目 第一题比较简单,排个序后开个哈希表存总和就行classSolution{public:intdistinctAverages(vector&nums){unordered_sethash;sort(nums.begin(),nums.end());for(inti=0,j=nums.size()-1;iT2:LeetCode2466.统计构造好字符串的方案数 简单dp问题就表示长度为的字符串有多少个,我们可以将分为两类:一类是以one个1结尾,那我们就只要统计另一类是以zero个0结尾,同理我们就只要统计所以最后classSolution{pu

【LeetCode】650. 只有两个键的键盘

650.只有两个键的键盘(中等)思路不同于以往通过加减实现的动态规划,这里需要乘除法计算位置。因为粘贴操作是倍数增加,使一个一维数组dp,其中位置i表示延展到长度i的最少操作次数。对于每个位置j,如果j可以被i整除,那么长度i就可以由长度j得到,其操作次数等价于把一个长度为1的A延展到长度为i/j,因此递推公式为:dp[i]=dp[j]+dp[i/j];。比如i=10,可以在i=5的时候,选择复制全部字符并粘贴,就扩展为10个A。代码classSolution{public:intminSteps(intn){vectorint>dp(n+1,0);for(inti=2;in;++i){dp[

Leetcode 2127. 参加会议的最多员工数

一个公司准备组织一场会议,邀请名单上有 n 位员工。公司准备了一张圆形 的桌子,可以坐下任意数目 的员工。员工编号为0 到n-1 。每位员工都有一位喜欢 的员工,每位员工 当且仅当 他被安排在喜欢员工的旁边,他才会参加会议。每位员工喜欢的员工不会 是他自己。给你一个下标从0 开始的整数数组 favorite ,其中 favorite[i] 表示第 i 位员工喜欢的员工。请你返回参加会议的 最多员工数目 。示例1: 输入:favorite=[2,2,1,2]输出:3解释:上图展示了公司邀请员工0,1和2参加会议以及他们在圆桌上的座位。没办法邀请所有员工参与会议,因为员工2没办法同时坐在0,1和3

卷进大厂系列之LeetCode刷题笔记:颠倒字符串里的单词(中等)

学算法,刷力扣,加油卷,进大厂!题目描述力扣题目链接给你一个字符串s,颠倒字符串中单词的顺序。单词是由非空格字符组成的字符串。s中使用至少一个空格将字符串中的单词分隔开。返回单词顺序颠倒且单词之间用单个空格连接的结果字符串。注意:输入字符串s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。示例1:输入:s="theskyisblue"输出:"blueisskythe"示例2:输入:s="helloworld"输出:"worldhello"解释:颠倒后的字符串中不能存在前导空格和尾随空格。示例3:输入:s="agoode